CC = g++
BIN = principal emisor receptor
CPPFLAGS=-g -Wall

AUX_OBJ = Chat.o log.o Semaforo.o InformacionChat.o Shm.o InformacionConversacion.o Cola.o

all: $(BIN)

principal: principal.o $(AUX_OBJ)
	$(CC) $(CFLAGS) principal.o $(AUX_OBJ) -o $@

emisor: emisor.o $(AUX_OBJ)
	$(CC) $(CFLAGS) emisor.o $(AUX_OBJ) -o $@

receptor: receptor.o $(AUX_OBJ)
	$(CC) $(CFLAGS) -o $@ receptor.o $(AUX_OBJ)

control: control.o $(AUX_OBJ)
	$(CC) $(CFLAGS) control.o $(AUX_OBJ) -o $@

Semaforo.o: Semaforo.cpp Semaforo.h

Cola.o: Cola.cpp Cola.h

InformacionChat.o: InformacionChat.cpp InformacionChat.h

InformacionConversacione.o: InformacionConversacion.cpp InformacionConversacion.h

Shm.o: Shm.cpp Shm.h

Chat.o: Chat.cpp Chat.h

log.o: log.cpp log.h

principal.o: principal.cpp

emisor.o: emisor.cpp

receptor.o: receptor.cpp

control.o: control.cpp

clean:
	rm -f $(BIN) *.o

check-syntax:
	gcc -o nul -S ${CHK_SOURCES}